var Lightbox = {
    selector: null,
    isInit: false,
    delay : null,
    type : "html", /* default type*/
    init : function() {
        if ($('#box').length > 0) {
            $('#box').appendTo('body');
        } else {
            Lightbox.generate();
        }

        if ($("#box").css("position") == "absolute") {
            $(window).scroll(function () {
                $("#box").css("top", $(document).scrollTop() + "px");
            });
        }
        this.isInit = true;
    },
    setConfig: function(data) {
        if (typeof(data.selector) != 'undefined') {
            this.selector = data.selector;
        }

        if (data.type) {
            this.type = data.type;
        }
    },
    generate: function() {
        $('body').append('<div class="bigbox" id="box">'
            + '<iframe frameborder="0" class="windowmask"></iframe><div class="windowmask"></div>'
            + '<div class="contentbox lightbox contLightbox01" id="lightbox">'
            + '<div class="lbcont" id="lbcontent">'
            + '<div class="lightbox-border">'
            + '<table width="100%" border="0" cellspacing="0" cellpadding="0">'
            + '<tr><td class="tl"></td><td class="b"></td><td class="tr"></td></tr>'
            + '<tr><td class="b"></td><td class="bbody"><div class="lightbox-boxhead"><div class="tlc"><div class="trc"><div class="boxhead-content"><div class="right"><a id="idHideHref" href="javascript:;" onclick="Lightbox.hide()" ><img src="/images/blank_img.gif" alt="" height="1" width="1" class="close-btn exit-blog" /></a></div><div class="boxhead-content-main"></div></div></div></div></div><div class="lightbox-boxbody"></div></td><td class="b"></td></tr>'
            + '<tr><td class="bl"></td><td class="b"></td><td class="br"></td></tr>'
            + '</table>'
            + '</div>'
            + '</div>'
            + '</div>'
            );
    },
    setWidth: function(lbgWidth) {
        $('#lightbox').css('width', lbgWidth ? lbgWidth : 'auto');
    },
    setHeight: function(lbgHeight) {
        $('.lightbox-boxbody').css('height', lbgHeight ? lbgHeight : 'auto');
    },    
    showerror: function(title, content, namebtn){
        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +   '<table width="28%" border="0" cellspacing="0" cellpadding="0" style="margin:0px auto;" class="list-button">'
        +    '<tr>'
        +     '<td><div class="sidebutton"><div class="btn-left-02"><input name="huy" type="button" value="'+namebtn+'" class="button btn-right-02" onclick="Lightbox.hide()"  /></div></div></td>'
        +    '</tr>'
        +   '</table>'
        +  '</div>';

        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(400+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    },
    showloading:function(title, content) {/**nhuantp@fpt.net**/
        var contentshow = '<div class="reg"><p>'+content+'</p></div>';
        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(contentshow);
		
        Lightbox.setWidth(320+18);
        var elem = $('#lightbox');
		
        elem.parent(this).fadeIn(200);
        
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        
        Lightbox.setPos(elem);
        
        /*remove close image*/
        $("div#lightbox").find('img.exit-blog').hide();
    },
    showmessage:function(title, content) {
        var contentshow = '<div class="reg"><p>'+content+'</p></div>';
        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(contentshow);
		
        Lightbox.setWidth(320+18);
        var elem = $('#lightbox');
		
        elem.parent(this).fadeIn(200);
        
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        
        Lightbox.setPos(elem);
        
        /*remove close image*/
        $("div#lightbox").find('img.exit-blog').hide();
        $("#box").delay(2000);
        Lightbox.hide(); 
    },
    showerrorNoButtonClose: function(title, content, namebtn){
        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +  '</div>'

        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(400+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    },
    show : function(boxId, msgWidth, msgHeight, title, type, include_close) {

        if (typeof(include_close) != 'undefined') {
            this.include_close = include_close;
        }else {
            this.include_close = true;
        }
        if (typeof(type) != 'undefined') {
            this.type = type;
        }else {
            this.type = "html";
        }

        if (typeof(title) == 'undefined') {
            title = $(this.selector).attr('title');
        }
        
        $('.boxhead-content-main').html(title);

        if (this.type == 'iframe') {
            var url = boxId;
            if (!url){
                return false;
            } else {
                var width = (msgWidth) ? parseInt(msgWidth) - 20 : 430;
                var height = (msgHeight) ? parseInt(msgHeight) : 300;
                var html = "<iframe width='" + width + "' height='" + height + "' src='" + url + "' style='border: none' frameborder='0'></iframe>";
                /*var button='<div class="w110"; style="padding-top:5px">'
                +'<ul class="list-button"> <li><div class="btn-left-02">'
                +'<input type="button" onclick="Lightbox.hide()" class="button btn-right-02" value="Đóng lại" name="close"></div></li>'
                +'</ul><div class="clear"></div></div>';
                $('.lightbox-boxbody').html(html+button);*/
                $('.lightbox-boxbody').html(html);
            }
        } else {

            if (msgHeight) {
                this.setHeight(parseInt(msgHeight));
            }
            
            if(this.type == 'html') {
                $('.lightbox-boxbody').html($("#" + boxId).html());
                //$("#" + boxId).remove();
            } else if(this.type == 'text') {
                $('.lightbox-boxbody').text($("#" + boxId).html());
                //$("#" + boxId).remove();
            }/* define more type here*/
        }
        
        
        Lightbox.setWidth(parseInt(msgWidth)+18 || 300);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
        $('textarea:first', elem).focus();
        $('input[type=text]:first', elem).focus();
        /*if ($('.btngreen:first', elem).focus()[0] == undefined) {
            if ($('span.btngray:first > input', elem).focus()[0] == undefined) {
                $('input.cancel:first', elem).focus();
            }
        }*/
        /*
        if(!include_close)
            {
                $("#lightbox #idHideHref").remove();
            }
       */
    },
    show_leave_page:function(title, content, link, type) {/**nhuantp@fpt.net**/
        var errbox = '<div class="reg">'
        +'<p>'+content+'</p>'
        +'<div class="w140 auto-margin" style="padding-top:5px">'
        +'<ul class="list-button">'
        +'<li><div class="btn-left-02">'
        +'<input type="button" onclick="Lightbox.leave_page(\''+link+'\', '+type+');" class="btnBlogComment btn-right-02" value="Đồng ý" name="close"></div></li>'
        +'<li><div class="btn-left-07">'
        +'<input type="button" onclick="Lightbox.cancel_leave_page('+type+')" class="button btn-right-07" value="Đóng lại" name="close"></div></li>'
        +'</ul><div class="clear"></div></div>'
        +'</div>';
		
        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(300+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
        
        switch ( type ) {
            case 1:/**video**/
                VideoBB.is_confirm	= 0;
                break;
            case 2:/**photo**/
                isExit	= false;
                break;
        }
    },
    leave_page:function(link, type) {/**nhuantp@fpt.net**/
        switch ( type ) {
            case 1:/**video**/
                VideoBB.is_confirm	= 1;
                break;
            case 2:/**photo**/
                isExit	= true;
                break;
        }
    	
        Lightbox.showloading('Đang chuyển trang...', '<img src="'+domain+'/images/graphics/loading.gif" />');
        window.location	= link;
    },
    cancel_leave_page:function(type) {/**nhuantp@fpt.net**/
        switch ( type ) {
            case 1:/**video**/
                VideoBB.is_confirm	= 0;
                break;
            case 2:/**photo**/
                isExit	= false;
                break;
        }
    	
        Lightbox.hide();
    },
    showanounment: function(title, content, link){

        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +'<div class="w140 auto-margin" style="padding-top:5px">'
        +'<ul class="list-button">'
        +'<li><div class="btn-left-02">'
        +'<a href="'+link+'"  class="btnBlogComment btn-right-02" style="color:#fff; text-decoration:none;" >Đồng ý</a></div></li>'
        +'<li><div class="btn-left-07">'
        +'<input type="button" onclick="Lightbox.hide()" class="button btn-right-07" value="Đóng lại" name="close"></div></li>'
        +'</ul><div class="clear"></div></div>'
        +  '</div>';
		
        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(300+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    },
    showConfirmClose: function(title, content, funcOK, funcClose){

        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +'<div class="w138 auto-margin" style="padding-top:5px;">'
        +'<ul class="list-button">'
        +'<li><div class="btn-left-02">'
        +'<input type="button" onclick="'+funcOK+'" class="btnBlogComment btn-right-02" value="Đồng ý" name="close"></div></li>'
        +'<li><div class="btn-left-07">'
        +'<input type="button" onclick="'+funcClose+'" class="button btn-right-07" value="Đóng lại" name="close"></div></li>'
        +'</ul><div class="clear"></div></div>'
        +  '</div>';

        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(310+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    },
    showConfirm: function(title, content, func){
        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +'<div class="w150 auto-margin" style="padding-top:5px; width:150px;">'
        +'<ul class="list-button">'
        +'<li><div class="btn-left-02">'
        +'<input type="button" onclick="'+func+'" class="btnBlogComment btn-right-02" value="Có" name="close"></div></li>'
        +'<li><div class="btn-left-07">'
        +'<input type="button" onclick="Lightbox.hide()" class="button btn-right-07" value="Không" name="close"></div></li>'
        +'</ul><div class="clear"></div></div>'
        +  '</div>';

        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(300);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
        var KEYCODE_ENTER = 13;
        var KEYCODE_ESC = 27;

        $(document).keyup(function(e) {
            switch(e.keyCode )
            {
                case 27:
                    Lightbox.hide();
                    break;
                case 13:
                    $(".list-button .btn-right-02").click();
                    break;
            }
        });
    },
    showReloadPage: function(title, content){
        var errbox =
        '<div class="reg">'
        +   '<p>'+content+'</p>'
        +'<div class="w138 auto-margin" style="padding-top:5px;">'
        +'<ul class="list-button">'
        +'<li><div class="btn-left-02">'
        +'<input type="button" onclick="reloadPage()" class="button btn-right-02" value="Đóng lại" name="close"></div></li>'
        +'</ul><div class="clear"></div></div>'
        +  '</div>';
        $('.boxhead-content-main').html(title);
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(420);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
        
        /**set method for button "X"**/
        var html	= $("#box").find('a[id="idHideHref"]').html();
        var htmlrp	= '<a id="idHideHref" href="javascript:;" onclick="reloadPage(); return false;">'+html+'</a>';
        $("#box").find('a[id="idHideHref"]').replaceWith(htmlrp);
        
        /**set time out to reload page**/
        setTimeout(function(){
            reloadPage()
        }, 10000);
    },
    showSignin: function(target, url){
        if(typeof(target) == 'undefined'){
            target = '_self';
        }
        if(typeof(url) == 'undefined'){
            url = document.location.href;
        }
        var param = '';
        if(typeof(urlPage) != 'undefined' && urlPage.length){
            param = ' để kết nối với <strong><a target="'+target+'" href="'+urlPage+'/feed">'+objPages.FullName+'</a></strong>';

        }else{
            param = ' để chia sẻ và kết nối';
        }
        var str="";
        str += "<div class=\"reg\">";
        str += "        <div class=\"request_login_content\">";
        str += "            <p>Bạn chưa có tài khoản <strong>Banbe<\/strong>?<\/p>";
        str += "            <p>";
        str += "                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a target='"+target+"' href=\""+BANBE_DOMAIN+"/system/ssoservice/register\"><strong>Đăng ký<\/strong><\/a>"+param+"<\/p> ";
        str += "            <p>Đã tồn tại tài khoản trên <strong>Banbe<\/strong>?<\/p>";
        str += "            <div class=\"login_box\">";
        str += "                <ul>";
        str += "                    <li><span class=\"error_login\" style=\"color:#F00; display:none; margin-left:105px;\">Email đăng nhập hoặc mật khẩu không đúng<\/span><\/li>";
        str += "                    <li><span class=\"left\"><strong>Email<\/strong><\/span><span><input  id=\"username\" type=\"text\" class=\"txt_input\"><\/span><\/li>";
        str += "                    <li><span class=\"left\"><strong>Mật khẩu<\/strong><\/span><span><input  id=\"password\" type=\"password\" class=\"txt_input\" onkeypress=\"key(event,'"+target+"','"+url+"');\"><\/span><\/li>";
        str += "                    <li><span class=\"left\">&nbsp;<\/span><div class=\"btn-left-02\"><input type=\"button\" value=\"Đăng nhập\" class=\"button btn-right-02\"  onclick=\"loginJS('"+target+"','"+url+"');\"><\/div><a target='"+target+"'  href=\""+IDP_URL+"\/khoi-phuc-mat-khau.html\">quên mật khẩu ?<\/a><\/li>";
        str += "                <\/ul><\/div>";
        str += "        <\/div>";
        str += "<\/div>";
        
        $('.boxhead-content-main').html('Đăng nhập và kết nối');
        $('.lightbox-boxbody').html(str);

        Lightbox.setWidth(420);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
        $('#username').focus();
    },

    hide:function() {
        $('#lightbox').parent(this).fadeOut(200);
    },
    setPos: function(elem){
        var top = (document.documentElement.clientHeight - elem.attr('offsetHeight')) / 2-30;
        var left = (document.documentElement.clientWidth - elem.attr('offsetWidth')) / 2;
        if (top < 0) top = 0;
        if (left < 0) left = 0;
        elem.css({
            'left' : left + 'px',
            'top' : top + 'px'
        });
    },
    require_like_page:function(target) {/**nhuantp@fpt.net**/
        if ( typeof(target) == 'undefined' ) {
            target	= '_self';
        }
		
        var	html	= '<div class="request_enjoy_page">'
        +'<p>Bạn phải là thành viên của Page mới được phép tham gia <strong>Bình luận</strong> hoặc <strong>Thích</strong>.</p>'
        +'<p>Bạn có muốn trở thành thành viên của Page không?</p>'
        +'<ul class="bottom_box">'
        +'<li><div class="btn-left-02"><input type="button" value="Đồng ý" class="button btn-right-02" onclick="proccess_like_page(\''+target+'\');"></div></li>'
        +'<li><div class="btn-left-07"><input type="button" value="Bỏ qua" class="button btn-right-07" onclick="Lightbox.hide()"></div></li>'
        +'</ul>'
        +'</div>';
		
        $('.boxhead-content-main').html('Tham gia Page');
        $('.lightbox-boxbody').html(html);
		
        Lightbox.setWidth(430);		
        var elem	= $('#lightbox');
		
        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    },
    show_error_make_friend:function(error_code) {/**nhuantp@fpt.net**/
        var error_mf_object = Array();
        error_mf_object[1]      = 'Có lỗi xảy ra, vui lòng thử lại sau.';
        error_mf_object[511]    = 'Bạn đã đồng ý với yêu cầu này.';
        error_mf_object[518]    = 'Không có yêu cầu nào để bỏ qua.';
        error_mf_object[521]    = 'Yêu cầu hoặc đã đồng ý hoặc đã bỏ qua.';
        
        if ( typeof(error_mf_object[error_code]) == 'undefined' ) {
            error_code  = 1;
        }

        var errbox  =
        '<div class="reg">'
        +   '<p>'+error_mf_object[error_code]+'</p>'
        +   '<table width="28%" border="0" cellspacing="0" cellpadding="0" style="margin:0px auto;" class="list-button">'
        +    '<tr>'
        +     '<td><div class="sidebutton"><div class="btn-left-02"><input name="huy" type="button" value="Đóng lại" class="button btn-right-02" onclick="Lightbox.hide()"  /></div></div></td>'
        +    '</tr>'
        +   '</table>'
        +  '</div>';

        $('.boxhead-content-main').html('Thông báo lỗi');
        $('.lightbox-boxbody').html(errbox);

        Lightbox.setWidth(400+18);
        var elem = $('#lightbox');

        elem.parent(this).fadeIn(200);
        $(window).bind("resize", function(){
            Lightbox.setPos(elem);
        });
        Lightbox.setPos(elem);
    }
};

$(document).ready(function(){
    if (!Lightbox.isInit) {
        Lightbox.init();
    }
    Lightbox_init();
});

function Lightbox_init(){
    $("[lightbox]").live('click', function(){
        if (!$(this).attr("onclick")) {
            Lightbox.setConfig({
                selector: $(this)
            });
            var type = $(this).attr("rel") || "html";
            var params = $.map($(this).attr("lightbox").split(","), $.trim);
            var title = $(this).attr("title");
            Lightbox.show(params[0], params[1], params[2], title, type);
        }
    });
}

function key(event,target,url){
    event = event || window.event;
    if (event.keyCode == 13 ){
        loginJS(target,url);
    }
}

function loginJS(target,url){

    $.getJSON( IDP_URL+'/sp-dang-nhap.html?jsoncallback=?',
    {
        username: $('#username').val(),
        password: $('#password').val(),
        remember: ($('#remember:checkbox:checked').val()) ? 1 : 0,
        format: "json"
    },
    function(data) {
        if(data.result){
            $('.error_login').hide();
            if(target == '_parent'){
                window.parent.location.href = BANBE_DOMAIN + '?callback=' + encodeURI(parent.document.location.href);
            }else{
                window.location.href = BANBE_DOMAIN + '?callback=' + encodeURI(url);
            }                
        }else{
            $('.error_login').show();
        }
    }
    );
}

/**nhuantp@fpt.net**/
function reloadPage()
{
    Lightbox.hide();

    var href    = window.location.href;
    var pos     = href.indexOf("#!?");
    href	= (pos!=-1)?href.substr(0, pos):href;
    
    Lightbox.showloading("Đang load lại trang...", '<p><img src="'+domain+'/images/graphics/loading.gif" /></p>');
    window.location	= href;
}

/**nhuantp@fpt.net**/
function proccess_like_page(target)
{
    if ( typeof(target) == 'undefined' ) {
        target	= '_self';
    }

    $.ajax({
        type:'POST',
        url:domain+'/pages/'+objPages.URL+'/feed/likepage',
        data:({
            id:objPages.UserID,
            pagetype:objPages.PageType,
            typemember:0,
            usercreator:objPages.UserCreator
        }),
        dataType:'json',
        success:function(response) {
            if ( response.success == 1 ) {
                if ( target == '_parent' ) {
                    Lightbox.showloading("Đang load lại trang...", '<p><img src="'+domain+'/images/graphics/loading.gif" /></p>');
                    window.parent.location	= window.parent.location.href;
                } else {
                    var href	= window.location.href;
                    var pos	= href.indexOf("#!?");
                    href	= (pos!=-1)?href.substr(0, pos):href;
                    
                    Lightbox.showloading("Đang load lại trang...", '<p><img src="'+domain+'/images/graphics/loading.gif" /></p>');
                    window.location	= href;
                }
            } else {
                switch ( response.type ) {
                    case 1:/**not login**/
                        Lightbox.showerror('Thông báo', 'Bạn phải đăng nhập vào hệ thống mới có thể thích Page.', 'Đóng lại');
                        break;
                    case 2:/**is locked**/
                        Lightbox.showerror('Thông báo', 'Bạn đã bị xoá khỏi Page này nên không có quyền thích Page.', 'Đóng lại');
                        break;
                    default:/**invalid info**/
                        Lightbox.showerror("Thông báo", "Thông tin kết nối không hợp lệ, bạn vui lòng kiểm tra lại.", "Đóng lại");
                        break;
                }
            }
        },
        error:function() {
            Lightbox.showerror("Thông báo lỗi", "Có lỗi xảy ra, vui lòng thực hiện lại sau.", "Đóng lại");
        },
        beforeSend:function() {
            $("#box").find('ul.bottom_box').replaceWith('<p><img src="'+domain+'/images/graphics/loading.gif" /></p>');
        }
    });
}